package com.eq.service;

import com.eq.dto.FileItem;
import java.io.IOException;
import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;

import java.nio.file.Path;
import java.util.stream.Stream;

public interface FileStorageService {
    void init();

    void store(MultipartFile file);

    Stream<Path> loadAll(String path);

    Resource loadAsResource(String filePath);

    void deleteAll();

    FileItem getFileMetadata(Path filePath) throws IOException;

    void createDirectory(String path);

    void delete(String path);

    void rename(String sourcePath, String targetPath);
}
